1. Field of Art
This invention relates to protection of data on a storage device and more particularly relates to protecting data on a storage device without involving a host.
2. Background Technology
In a storage environment where blocks of data are stored on a storage device, there may be a selected area of data stored or a storage index which may need to be protected. Typically the storage environment consists of a host, such as an operating system, which stores data permanently on a non-volatile storage device, such as a hard drive. Communication between the host and the device is achieved by a storage controller, which decides how the storage device stores and accesses data on the storage medium. Today, in addition to managing data storage and access, storage controllers manage quality of service (QoS), virtualization, mirroring, replication, and many provide memory that acts as a buffer to enhance the read and write performance of the storage device.
In the continually evolving information age, one thing remains a constant: the need to protect mission-critical data. Whether it is for stock markets, corporate payroll, e-commerce, enterprise databases, medical records, internet banking, or reasons of national security, the need to protect data continues to grow with the need to store data.
One of the biggest hindrances to low total cost of ownership is the labor associated with managing storage-related issues. Managing storage resources and data automatically by system resources, rather than manually, helps lessen the problem. However, ensuring system-wide protection of the mission-critical data and storage indexes of the storage medium, such as the VTOC (volume table of contents) of the z/OS (z operating system), continues to present a unique management challenge. Mission-critical business systems typically span host and distributed computing environments, managing many of the critical business processes essential to the success of an organization. Sharing data from business processes with the other strategic systems and applications in the environment requires a comprehensive solution. Yet, the solution should be simple enough to be incorporated autonomously with minimal administrator oversight and without unduly burdening system performance.
The dominant server for such mission critical applications requiring management of large-scale databases continues to be mainframes. A mainframe is designed for high reliability, performance, broad-based connectivity options, and comprehensive enterprise storage solutions. Generally, operating systems that run on mainframes are highly reliable, support Web and Java-based applications, and host mission-critical applications. However, enterprise-class protection is not the only field lacking in data protection by a storage device. The protection of personal data is often considered no less valuable.
In the consumer electronics field, as products require an increasing amount of capacity to store digital content, the need to protect personal data increases as well. This is especially seen in products such as, but not limited to, personal computers, notebook computers, digital cameras, camcorders, digital video recorders (DVR), portable digital audio players, mobile telephones, personal digital assistants, and personal multimedia players.
Despite the numerous advancements in storage management, there is still room for improvement in the area of reliable protection of mission-critical data. The problem exists where sensitive data on a volume is inexplicably corrupted, causing loss of performance and, in worst case scenarios, loss of mission-critical data. In conventional systems, a host may provide its own protection of such storage areas, but current safety measures do not give adequate protection. For example, a storage device may consist of a hard drive that has protected tracks of data. An application may notify the host of its attempt to write to an area of unprotected tracks. However, in the event of an inadvertent data overlay, an unintentional alteration of stored data, the area of the storage medium that gets overlaid may be the storage index that keeps track of protected and unprotected areas. Suddenly, not only has the storage index become corrupted, but the write-type command to an unprotected area may now overwrite the protected tracks of data and, potentially, the entire protected area becomes vulnerable to inadvertent data overlays. This invention addresses the problem of inadvertent data overlays.
Conventional mechanisms are in place to protect these areas, such as serialization in the z/OS mainframe environment. However, this serialization is not enforced across multiple platforms and inadvertent data overlays are still possible. Other conventional technologies provide host-controlled protection that actually scans through all the commands from the host to the storage device and attempts to track, in software, whether a given write-type command is attempting to write to an area of the storage device that the write-type command has not been authorized to access. Unfortunately, such host-level solutions based in software have typically been shown to have a severe impact on system performance, resulting in the cost far outweighing the benefit of data protection by a storage device.
In addition, many of these inadvertent overlays go undiagnosed, thereby making it practically impossible to run a trace back to the source of the failure. As long as the protection methods remain at the host level, true protection of mission-critical and priceless personal data may be wanting.
From the foregoing discussion, it should be apparent that a need exists for an apparatus, system, and method that overcome the limitations of conventional host-level data protection by storage device methods. In particular, such an apparatus, system, and method would beneficially be independent of a particular host, thereby offering device-level protection. The apparatus, system, and method would also beneficially avoid untraceable data overlays that often go undiagnosed by determining who is attempting to update the storage data.